package com.monitoring.domain.repository;

import com.monitoring.domain.entity.Device;
import java.util.List;
import java.util.Optional;

public interface DeviceRepository {
    <T extends Device> T save(T device);
    Optional<Device> findById(Long id);
    List<Device> findAll();
    List<Device> findByType(String type);
    List<Device> findByLocation(String location);
    List<Device> findActiveDevices();
    void deleteById(Long id);
    boolean existsById(Long id);
}